Skip to content

Fix Claude source mode fallback on successful CLI login (#2403) - #2414

Open
Yuxin-Qiao wants to merge 6 commits into
steipete:mainfrom
Yuxin-Qiao:fix/claude-connection-loss-2403
Open

Fix Claude source mode fallback on successful CLI login (#2403)#2414
Yuxin-Qiao wants to merge 6 commits into
steipete:mainfrom
Yuxin-Qiao:fix/claude-connection-loss-2403

Conversation

@Yuxin-Qiao

@Yuxin-Qiao Yuxin-Qiao commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes #2403. When users logged into Claude via "Sign in with Claude Code..." (terminal CLI authentication), if claudeUsageDataSource was previously set to .web (or defaulted to .web), CodexBar would immediately attempt to fetch usage using unauthenticated browser cookies on the subsequent refresh. This resulted in an immediate 401 Unauthorized error ("Sign in to claude.ai...") and reverted the Claude status item to disconnected immediately after a "successful" login.

This PR updates runClaudeLoginFlow() so that a successful terminal CLI login automatically updates claudeUsageDataSource from .web to .auto, ensuring newly generated OAuth/CLI credentials are used immediately during refresh.

Changes Made

  1. Sources/CodexBar/Providers/Claude/ClaudeLoginFlow.swift:
    • Auto-update claudeUsageDataSource from .web to .auto when runClaudeLoginFlow completes with .success. Routing through Auto keeps the CLI fallback when OAuth Keychain reads are unavailable after a terminal login.
  2. Tests/CodexBarTests/ClaudeIssue2403ReproductionTests.swift (new):
    • Reproduces the issue CodexBar cannot maintain connection with Claude anymore #2403 configuration (Keychain access disabled, Claude CLI credential present, source migrated to Auto) and asserts OAuth is planned first with a CLI fallback.
    • Covers saved-admin-key Auto planning and selected-token-account routing after the login migration.
  3. Tests/CodexBarTests/ClaudeLoginFlowPolicyTests.swift:
    • Updated source assertion for .web source mode switching to .auto upon successful CLI login.
    • Restored withStatusItemControllerForTesting teardown so each iteration releases its status items.
  4. Sources/CodexBarCore/Providers/Claude/ClaudeProviderDescriptor.swift:
    • Added DEBUG-only resolveStrategiesForTesting seam for strategy-planning assertions.

Verification Run

  • swift test --filter ClaudeLoginFlowTests
  • swift test --filter ClaudeIssue2403ReproductionTests
  • swift test --filter "AdaptiveRefreshTimerTests|DeferredMenuInteractionRefreshTailTests|StatusItemControllerShutdownTests|ClaudeIssue2403ReproductionTests|ClaudeLoginFlowTests" ✅ (26 tests)
  • swiftformat Sources Tests
  • swiftlint --strict ✅ (0 violations)

Proof notes

  • Real after-fix proof of a physical Claude Code CLI login followed by a successful refresh requires a live account/Keychain session; that capture is not included in this update. The new ClaudeIssue2403ReproductionTests deterministically exercise the post-login Auto planning + fallback path in CI.
  • The two Linux CI swiftly install blocks now retry up to 5 times; this is scoped as a CI reliability improvement for flaky toolchain downloads.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d1dc6bd8e5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

let metadata = self.store.metadata(for: .claude)
self.settings.setProviderEnabled(provider: .claude, metadata: metadata, enabled: true)
if self.settings.claudeUsageDataSource == .web {
self.settings.claudeUsageDataSource = .auto

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Avoid relabeling selected web accounts after CLI login

When a saved Claude token account contains a web/session cookie, this assignment changes an explicit web configuration to auto but leaves that token account selected. On the next app refresh, auto mode can pick the newly logged-in Claude Code OAuth/CLI credential before the selected account’s web cookie, while refresh publication still treats the selected token account as current and labels/caches that ambient snapshot under the saved account. In that configuration, users can see the CLI account’s usage under the selected web account; either clear/switch the selected token account or avoid auto-switching while a selected web-cookie account owns the refresh.

Useful? React with 👍 / 👎.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9471a060c9

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

let metadata = self.store.metadata(for: .claude)
self.settings.setProviderEnabled(provider: .claude, metadata: metadata, enabled: true)
if self.settings.claudeUsageDataSource == .web {
self.settings.claudeUsageDataSource = .auto

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Avoid routing web-mode logins to Admin API

When a user had explicitly selected Web but also has a Claude Admin API key saved or in the environment, this switch to Auto means the refresh triggered after a successful Claude Code login no longer uses the credential they just logged in with: ClaudeProviderDescriptor.resolveStrategies returns the admin API strategy immediately for Auto + admin key before reaching the OAuth/CLI planner. In that configuration the menu shows Admin API spend instead of the Claude Code account the login flow just authenticated; consider switching to a Claude Code-specific source or suppressing the admin-key auto shortcut for this post-login migration.

Useful? React with 👍 / 👎.

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. P1 Urgent regression or broken agent/channel workflow affecting real users now. merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. merge-risk: 🚨 auth-provider 🚨 Merging this PR could break OAuth, tokens, provider routing, model choice, or credentials. labels Jul 30, 2026
@clawsweeper

clawsweeper Bot commented Jul 30, 2026

Copy link
Copy Markdown

Codex review: needs real behavior proof before merge. Reviewed July 31, 2026, 12:04 AM ET / 04:04 UTC.

ClawSweeper review

What this changes

This PR changes successful Claude Code logins from the saved Web usage source to Auto, adds regression coverage for post-login strategy planning, and adds retry handling for Swift toolchain installation in two Linux CI jobs.

Merge readiness

Blocked until real behavior proof is added - 4 items remain

Keep this PR open: the latest branch addresses the previously raised enablement, CLI-fallback, and test-teardown concerns, but it still needs redacted real after-fix evidence of a Claude Code login followed by a successful persisted refresh before merge.

Priority: P1
Reviewed head: d0d9b6d309b6dfb18d2cc2d2ee76ea987f1bd659

Review scores

Measure Result What it means
Overall readiness 🧂 unranked krab (1/6) The implementation is focused and the earlier correctness findings appear resolved, but missing real behavior proof remains a merge gate.
Proof confidence 🧂 unranked krab (1/6) Needs real behavior proof before merge: The PR explicitly states that it has no real after-fix proof of a physical Claude Code login followed by a successful refresh; tests and CI are supplemental only. Add redacted terminal output, runtime logs, or a recording, then update the PR body for automatic re-review or ask a maintainer to comment @clawsweeper re-review.
Patch quality 🐚 platinum hermit (4/6) No actionable review findings were identified.

Verification

Check Result Evidence
Real behavior Needs proof Needs real behavior proof before merge: The PR explicitly states that it has no real after-fix proof of a physical Claude Code login followed by a successful refresh; tests and CI are supplemental only. Add redacted terminal output, runtime logs, or a recording, then update the PR body for automatic re-review or ask a maintainer to comment @clawsweeper re-review.
Evidence reviewed 5 items Latest branch addresses earlier routing findings: The latest commit routes a successful Web-mode Claude login through Auto while retaining provider enablement; its commit message also states that it preserves CLI fallback and restores test teardown.
Focused regression coverage: The PR adds 145 lines of Claude post-login strategy-planning coverage and updates the login-flow expectation so a successful Web-mode login persists Auto rather than Web.
Required proof remains absent: The PR body explicitly says that a real Claude Code login followed by successful refresh has not been captured; the stated tests exercise deterministic planning only.
Findings None None.
Security None None.

How this fits together

CodexBar’s Claude login flow saves provider enablement and a usage-source preference after the Claude CLI completes authentication. A subsequent refresh plans an Admin API, OAuth, CLI, or web strategy and sends the resulting usage state to the menu-bar provider display.

flowchart LR
    A[Claude Code login] --> B[Successful login result]
    B --> C[Saved Claude settings]
    C --> D[Refresh strategy planner]
    D --> E[Admin API OAuth CLI or Web]
    E --> F[Menu bar usage state]
Loading

Before merge

  • Add real behavior proof - Needs real behavior proof before merge: The PR explicitly states that it has no real after-fix proof of a physical Claude Code login followed by a successful refresh; tests and CI are supplemental only. Add redacted terminal output, runtime logs, or a recording, then update the PR body for automatic re-review or ask a maintainer to comment @clawsweeper re-review.
  • Resolve merge risk (P1) - Persisting Auto after a successful Claude Code login can change an existing Web-mode user’s credential route when they also have a saved Admin API key or selected token account; the added planning tests reduce this uncertainty but do not demonstrate the live refresh outcome.
  • Resolve merge risk (P1) - The PR has no redacted real-world proof that the CLI login persists usable credentials and the next refresh remains connected, so a real account/Keychain edge case could still leave the menu item disconnected.
  • Complete next step (P2) - The remaining merge blocker is contributor-owned real behavior proof rather than a narrow repository repair ClawSweeper can safely perform.
Agent review details

Security

None.

Review metrics

Metric Value Why it matters
Patch scope 5 files affected; 176 additions, 3 deletions Most of the change is focused Claude regression coverage, with a separate 18-line CI retry adjustment.
Strategy coverage 1 new 145-line regression suite The suite specifically exercises Auto planning and fallback cases that motivated the source-mode change.

Merge-risk options

Maintainer options:

  1. Add live post-login proof (recommended)
    Capture a redacted Claude Code login followed by the next successful persisted refresh, including enough terminal or runtime output to show the selected route and connected result.
  2. Accept test-only evidence
    Merge based on the focused planning tests while explicitly accepting that saved-account and Keychain behavior has not been demonstrated in a real setup.
  3. Pause the PR
    Pause this branch if live proof cannot be supplied and maintainers do not want to accept the credential-routing compatibility uncertainty.

Technical review

Best possible solution:

Retain the focused Auto migration and regression coverage, then add a redacted after-fix capture showing a real Claude Code login followed by a successful persisted Claude refresh for the affected configuration before merging.

Do we have a high-confidence way to reproduce the issue?

No: the branch has high-confidence source-level and deterministic test coverage for the strategy path, but no redacted real Claude Code login followed by a persisted successful refresh has been shown.

Is this the best way to solve the issue?

Yes, with proof still required: moving Web to Auto is the narrowest path that preserves OAuth-to-CLI fallback when Keychain reads are unavailable, and the latest branch adds coverage for the related planning cases.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against 8ef86077e70a.

Labels

Label justifications:

  • P1: The reported behavior makes a successful Claude login immediately disconnect, breaking an active provider workflow.
  • merge-risk: 🚨 compatibility: The patch changes an existing persisted Web source preference to Auto and can alter refresh behavior for saved account configurations.
  • merge-risk: 🚨 auth-provider: The changed path selects which Claude credentials and provider-fetch strategy will be used immediately after CLI authentication.
  • rating: 🧂 unranked krab: Overall readiness is 🧂 unranked krab; proof is 🧂 unranked krab and patch quality is 🐚 platinum hermit.
  • status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs real behavior proof before merge: The PR explicitly states that it has no real after-fix proof of a physical Claude Code login followed by a successful refresh; tests and CI are supplemental only. Add redacted terminal output, runtime logs, or a recording, then update the PR body for automatic re-review or ask a maintainer to comment @clawsweeper re-review.

Evidence

What I checked:

  • Latest branch addresses earlier routing findings: The latest commit routes a successful Web-mode Claude login through Auto while retaining provider enablement; its commit message also states that it preserves CLI fallback and restores test teardown. (Sources/CodexBar/Providers/Claude/ClaudeLoginFlow.swift:36, d0d9b6d309b6)
  • Focused regression coverage: The PR adds 145 lines of Claude post-login strategy-planning coverage and updates the login-flow expectation so a successful Web-mode login persists Auto rather than Web. (Tests/CodexBarTests/ClaudeIssue2403ReproductionTests.swift:1, d0d9b6d309b6)
  • Required proof remains absent: The PR body explicitly says that a real Claude Code login followed by successful refresh has not been captured; the stated tests exercise deterministic planning only. (d0d9b6d309b6)
  • Repository review policy applies: The repository policy prefers focused provider/parser testing and prohibits live provider or Keychain probing unless explicitly requested; the required real-world proof should therefore be contributor-supplied and redacted rather than generated by this review. (AGENTS.md:27, 8ef86077e70a)
  • Canonical reported behavior remains open: The linked Claude disconnect report remains open and identifies this PR as its candidate implementation, so it should not be closed until the fix is proven and merged.

Likely related people:

  • Yuxin-Qiao: Authored all six commits in this PR and incorporated the earlier review feedback on login enablement, CLI fallback, and test cleanup. (role: current implementation contributor; confidence: high; commits: 987f6d696d91, 0a152d903715, c526a05781ca; files: Sources/CodexBar/Providers/Claude/ClaudeLoginFlow.swift, Tests/CodexBarTests/ClaudeIssue2403ReproductionTests.swift, Tests/CodexBarTests/ClaudeLoginFlowPolicyTests.swift)
  • steipete: The affected Claude login and provider-routing surface is in the target repository’s primary product code; no current-main file-history read was available in this read-only review environment to establish a stronger source-level owner. (role: likely follow-up owner; confidence: low; files: Sources/CodexBar/Providers/Claude/ClaudeLoginFlow.swift, Sources/CodexBarCore/Providers/Claude/ClaudeProviderDescriptor.swift)

Rank-up moves

Optional improvements that raise the rating; they are not merge blockers.

  • Add redacted live evidence of CLI login followed by a successful persisted refresh.
  • Show the resulting credential route or connected Claude state without exposing tokens, account identifiers, endpoints, or other private data.

Rating scale

Score Internal tier Crab rank Meaning
6/6 S 🦀 challenger crab Exceptional readiness
5/6 A 🦞 diamond lobster Very strong readiness
4/6 B 🐚 platinum hermit Good normal PR; ordinary maintainer review
3/6 C 🦐 gold shrimp Useful, but confidence is limited
2/6 D 🦪 silver shellfish Proof or implementation needs work
1/6 F 🧂 unranked krab Not merge-ready
N/A NA 🌊 off-meta tidepool Rating does not apply

Overall follows the weaker of proof and patch quality.
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

Workflow

  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

History

Review history (5 earlier review cycles)
  • reviewed 2026-07-30T11:29:56.796Z sha a115ccf :: needs real behavior proof before merge. :: [P1] Select the Claude Code OAuth source after login
  • reviewed 2026-07-30T15:21:19.417Z sha 60e9173 :: needs real behavior proof before merge. :: none
  • reviewed 2026-07-31T02:42:46.248Z sha 0a152d9 :: needs real behavior proof before merge. :: [P1] Restore Claude enablement after successful login | [P2] Retain a CLI fallback when OAuth reads are unavailable
  • reviewed 2026-07-31T03:21:15.651Z sha c526a05 :: needs real behavior proof before merge. :: [P2] Retain a CLI fallback when OAuth reads are unavailable | [P2] Restore status-item teardown in the login-flow test
  • reviewed 2026-07-31T03:56:44.560Z sha d0d9b6d :: needs real behavior proof before merge. :: none

@Yuxin-Qiao

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jul 30, 2026

Copy link
Copy Markdown

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: when the review finishes, ClawSweeper will create the durable review comment if needed or update the existing comment in place.

Re-review progress:

@Yuxin-Qiao
Yuxin-Qiao force-pushed the fix/claude-connection-loss-2403 branch from 60e9173 to 987f6d6 Compare July 30, 2026 15:24

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 987f6d696d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +35 to +36
if self.settings.claudeUsageDataSource == .web {
self.settings.claudeUsageDataSource = .oauth

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Keep enabling Claude after a successful login

When Claude is disabled—the setup used by both login-flow tests and a normal sign-in onboarding path—replacing the unconditional setProviderEnabled(..., enabled: true) call with this source-only update leaves ProviderConfig.enabled false. Changing claudeUsageDataSource does not alter enablement, so the flow reports success and posts a notification while Claude remains hidden and is not refreshed; the new isProviderEnabledCached assertions consequently fail. Restore provider enablement independently of the selected source.

Useful? React with 👍 / 👎.

Comment on lines +73 to +74
#expect(actions.contains {
$0.0 == "Re-login at claude.ai" && $0.1 == .loginToProvider(url: "https://claude.ai/")

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Stop expecting a web re-login action after switching to OAuth

After the successful flow changes this test's source from .web to .oauth, shouldOpenBrowserForWebSessionError rejects the source because it only accepts .auto or .web. Injecting a web unauthorized error therefore cannot produce the asserted “Re-login at claude.ai” action, so this test will fail once the earlier enablement assertion is repaired and does not validate the new routing behavior; assert the OAuth behavior or verify that the obsolete web action is absent instead.

Useful? React with 👍 / 👎.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: eaf2a3ef70

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

let metadata = self.store.metadata(for: .claude)
self.settings.setProviderEnabled(provider: .claude, metadata: metadata, enabled: true)
if self.settings.claudeUsageDataSource == .web {
self.settings.claudeUsageDataSource = .oauth

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve a CLI fallback when OAuth reads are disabled

When “Disable Keychain access” or the no-prompt OAuth policy is enabled, claude auth login --claudeai can still succeed because it runs as an external CLI process, but this assignment then forces the provider into strict OAuth mode. ClaudeOAuthFetchStrategy cannot obtain the newly stored Keychain credential in that configuration, and its shouldFallback implementation only permits the working CLI strategy in .auto mode, so the refresh immediately fails despite the successful login. Keep a CLI fallback for this case rather than unconditionally selecting .oauth.

Useful? React with 👍 / 👎.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c526a05781

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

account: fetcher.loadAccountInfo(),
updater: DisabledUpdaterController(),
preferencesSelection: PreferencesSelection(),
statusBar: .system)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restore status-item teardown in the login-flow test

On macOS test runs, this now constructs a controller against NSStatusBar.system for every source mode without calling releaseStatusItemsForTesting; the removed withStatusItemControllerForTesting helper deferred exactly that cleanup, and StatusItemController.deinit does not remove its status items. These iterations can therefore leave real status items registered and pollute later headless AppKit tests, so retain the helper or add equivalent deferred teardown.

AGENTS.md reference: AGENTS.md:L27-L27

Useful? React with 👍 / 👎.

…#2403)

- Route migrated web logins through Auto so OAuth failure can fall back
  to the CLI credential when Keychain reads are unavailable
- Restore withStatusItemControllerForTesting teardown in the login-flow
  policy test
- Add issue 2403 reproduction coverage for post-login strategy planning

Co-authored-by: Cursor <cursoragent@cursor.com>
@clawsweeper clawsweeper Bot added rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. labels Jul 31, 2026
@Yuxin-Qiao

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jul 31, 2026

Copy link
Copy Markdown

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: when the review finishes, ClawSweeper will create the durable review comment if needed or update the existing comment in place.

Re-review progress:

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. and removed rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. labels Jul 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-risk: 🚨 auth-provider 🚨 Merging this PR could break OAuth, tokens, provider routing, model choice, or credentials. merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. P1 Urgent regression or broken agent/channel workflow affecting real users now. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CodexBar cannot maintain connection with Claude anymore

1 participant